package org.zoomdev.zoom.lock;

public enum LockType {


    /**
     * 相当于如下  , 不能用于虚拟线程
     * synchronized(obj){
     * <p>
     * }
     */
    object,

    /**
     * 公平锁
     * 需要保证绝对公平性
     * 任务执行时间差异很大
     * 防止低优先级线程饥饿
     * 例如：计费系统、交易系统
     */
    fairLock,

    /**
     * 非公平锁
     * 追求最大吞吐量
     * 任务执行时间短且均匀
     * 线程竞争激烈
     * 例如：高并发消息处理、缓存系统
     */
    unfairLock,

}
